package cn.itcast.spark.rdd

import org.apache.spark.{SparkConf, SparkContext}

object WordCountOnline {
  def main(args: Array[String]): Unit = {

    // 1、创建SparkContext
    val conf = new SparkConf().setAppName("SparkWordCount")
    val sc = new SparkContext(conf)

    // 2、加载文件
    //    1、准备文件
    //    2、读取文件
    val rdd1 = sc.textFile("hdfs:///datas/wordcount.txt")

    // 3、处理
    //    1、把整句话拆分为多个单词
    val rdd2 = rdd1.flatMap(item => item.split(" "))
    //    2、把每个单词指定一定词频1
    val rdd3 = rdd2.map(item => (item, 1))
    //    3、聚合
    val rdd4 = rdd3.reduceByKey((curr, agg) => curr + agg)

    // 4、得到结果
    val result = rdd4.collect()
    result.foreach(item => println(item))

  }
}
